1. Field of the Invention
The present invention relates to telecommunications services and more particularly to a method and system for using customized profile management codes to manage subscriber services.
2. Description of Related Art
Recent advances in telecommunications systems have enabled a wide array of special services to be made available to subscribers. Examples of such services include abbreviated dialing, which allows a subscriber to reach a party by dialing less than the entire telephone number of that party, call forwarding, in which calls directed to the subscriber may be forwarded to another line, terminating call screening, which allows the subscriber to specify certain times during which incoming calls are to be rejected, and originating call screening, in which calls to certain telephone numbers are barred. In general, special telecommunications services (xe2x80x9cservicesxe2x80x9d) encompass those call features that do more than simply place or terminate telephone calls as dialed.
In the past, special telecommunications services were governed and provided for exclusively by the network switches or other entities that routed calls from one location to another. Such switches or other entities are usually at least part of a xe2x80x9cserving systemxe2x80x9d that provides service for a plurality of subscribers. A typical switch would include a database of control information and call processing logic in addition to its basic switching capabilities. In response to a call placed to or from a subscriber, the switch would then apply services defined by this call processing logic. For example, the service logic may indicate that all unanswered calls to a particular subscriber should be redirected to a particular voice mail server.
This approach was viewed as unwieldy, however, because a telecommunications provider needed to update the software and databases on all of its many switches in order to update services or add new services throughout its telecommunications network. And to further complicate matters, the software needed to program switches from different vendors often differed greatly.
To overcome these limitations, many telecommunications networks have now adopted an advanced intelligent network (xe2x80x9cAINxe2x80x9d) approach. According to the AIN approach, much of the control information and call processing logic resides in a central network location or xe2x80x9ccentral control pointxe2x80x9d instead of in the multitude of switches. Each switch is then programmed with a relatively minimal set of service logic that causes the switch to query the central control point at predefined xe2x80x9ctrigger pointsxe2x80x9d during call processing, providing the central control point with parameters such as an identification of the calling and called parties, for example. When the central control point receives the query message, it may execute an appropriate set of service logic and/or consult appropriate databases in order to obtain information and instructions needed to provide a special service to the call. In turn, the central control point may return a response message to the switch, instructing the switch how to handle the call.
In this way, the telecommunications switches can be quite generic but still able to carry out a variety of services. Further, changes made to service logic at the central control point can apply to a large number of switches, which makes changing or activating services and adding new services much easier and reduces the problem of differences in switches from different vendors.
An AIN network typically employs a standardized set of messages for communication between the switches (or other such entities) and the central control point, in order to allow for a variety of services. This standardized set of messages may be conveyed, for instance, over an out-of-band common channel interoffice signaling (CCIS) network, according to an established signaling protocol. The most well known such protocol is Signaling System #7 (xe2x80x9cSS7xe2x80x9d). According to SS7, predefined messages may be coded as Transaction Capabilities Application Part (xe2x80x9cTCAPxe2x80x9d) messages and routed via a signaling transfer points (xe2x80x9cSTPsxe2x80x9d) between the switches and the central control point.
The particular message set may vary depending on the type of network. For instance, traditional landline AIN networks may operate according to standards are embodied in Bellcore""s AIN Release 0.1 and AIN Release 0.2. Typical wireless networks, on the other hand, may operate according to other standards, such as Telecommunications Industry Association (TIA)/Electronics Industry Association (EIA) Interim Standard IS-41 (xe2x80x9cCellular Radiotelecommunications Intersystem Operationsxe2x80x9d) and Interim Standard IS-771 (xe2x80x9cWireless Intelligent Networkxe2x80x9d). The entirety of each of these standards (as well as all revisions thereof) is hereby incorporated herein by reference.
In general, the trigger points and other control information about call processing for a given subscriber or group of subscribers can be defined and recorded in a database that is maintained for reference by the serving system during call processing. This set of parameters is considered a type of profile for the subscriber, or a subscriber profile. When the switch receives a request to complete a call to or from a subscriber, the switch may consult the subscriber""s profile to determine whether it needs to query a central control point for call-handling instructions and/or whether it should carry out certain call processing logic itself.
By applying the AIN approach, the call processing information that is maintained locally for reference by the switch can be minimized, since most of the service logic and feature information for the subscriber can be maintained by the central control point instead. Further, changes made to service logic at the central control point can apply to a large number of switches, which makes changing or activating services and adding new services much easier and reduces the problem of differences in switches from different vendors.
A subscriber profile may define various types of trigger points and control information. At a basic level, for instance, a profile may define a so-called xe2x80x9call-digits trigger,xe2x80x9d which tells the serving system to query the central control point whenever the serving system receives a call origination attempt from the subscriber. Similarly, a profile may define a termination-attempt trigger, which tells the serving system to query the central control point whenever the serving system receives a request to connect a call to the subscriber. Such global triggers can be usefully employed to give the central control point extensive control over the services that will be provided to the subscriber. For instance, upon receipt of a TCAP query that is generated upon call origination, the central control point may determine that the calling subscriber has subscribed to a pre-paid call accounting service; in response, the central control point may initiate logic that will time the subscriber""s call and decrement a pre-paid account balance accordingly.
The profile can define more specific triggers as well. For example, the profile may define a call origination trigger indicating that the serving system should further reference the subscriber profile to determine whether the subscriber is attempting to call a restricted destination, e.g., that the subscriber is blocked from calling a dialed number. Such a calling restriction may be desirable for group calling plans such as private branch exchange (xe2x80x9cPBXxe2x80x9d) or Centrex service, or for parental control, for instance. If the number is blocked, standard local service logic may direct the serving system to respond with a recorded message or other appropriate action, or the trigger may indicate that the serving system should query the central control point for guidance.
As still another example, the profile may define a call termination trigger that indicates that if the called subscriber""s line is busy or there is no answer, the call should be forwarded to a particular number that is recorded in subscriber""s profile. Alternatively, the termination trigger may indicate that, in response to a busy or no answer condition, the switch should query the central control point for processing instructions. In that event, the central control point may apply a set of service logic for the subscriber and decide that the call should be forwarded to a specified number (e.g., to a specified voice mail system), or that the switch should operate as normal (e.g., provide a busy signal). The central control point may then instruct the switch accordingly.
The AIN concept is applicable in virtually any type of telecommunications network. Examples of such networks include, for instance, landline networks and wireless networks (e.g., cellular radio transmission networks).
In a traditional AIN arrangement, each serving system comprises a switch referred to as a service switching point (xe2x80x9cSSPxe2x80x9d). The SSP is coupled via an STP network to a central control point, which is referred to as a service control point (xe2x80x9cSCPxe2x80x9d). The SSP maintains a subscriber profile database (e.g., a table, or more generally a data template or plurality of data templates), which defines trigger points for a given subscriber or group of subscribers. The SCP, in turn, maintains a subscriber profile database as well, indicating what service logic to provide for a particular subscriber or group of subscribers. When the SSP encounters a trigger point during call processing, it generates a TCAP query message defining the subscriber and other parameters, and it sends the query to the SCP. The SCP, in turn references its subscriber profile database, and identifies and executes the appropriate set of service logic. The SCP then generates and sends to the SSP a TCAP response message providing call handling instructions (e.g., a routing instruction, an instruction to play a message to the caller, or an instruction to simply connect the call to the dialed address.) Of course other arrangements are possible as well.
In traditional wireless networks, each serving system comprises a switch often referred to as a mobile switching center (xe2x80x9cMSCxe2x80x9d), as well as a subscriber profile database referred to as a visitor location register (xe2x80x9cVLRxe2x80x9d). A mobile subscriber (mobile station) communicates over an air interface with a base station in a cell, and the base station is interconnected to the MSC, in order to provide connectivity with other points. Each mobile subscriber is registered in a home system. The home system includes a home location register (xe2x80x9cHLRxe2x80x9d) that defines the services and features authorized for use by the subscriber. When a mobile subscriber roams into a given serving system (even the subscriber""s home system), the serving system engages in signaling communication with the HLR in the subscriber""s home system (i) to notify the HLR where the subscriber is located and (ii) to obtain the subscriber""s current profile. The serving system then stores the profile in its VLR for reference.
In wireless, the AIN concept is also referred to as Wireless Intelligent Network (xe2x80x9cWINxe2x80x9d). Generally speaking, as in traditional landline systems, a wireless network may include a central control point to assist one or more serving systems in handling calls. However, a WIN arrangement typically employs a unique message set and provides additional capabilities in order to facilitate mobility management and other functions that are uniquely associated with providing service for mobile subscribers.
In current practice, the central control point in a WIN arrangement can take any form, including but not limited to an SCP and/or an HLR. When the serving system receives a call to or from a given subscriber, the serving system consults the subscriber""s profile in the VLR and determines whether to query the central control point. A trigger point in the profile may instruct the serving system to send a signaling message to one or another central control point. The signaling message is typically defined by industry standards and encapsulated in a TCAP message, and the message provides the central control point with appropriate parameters such as an identification of the subscriber. Upon receipt of the signaling message, the central control point may identify and execute a set of service logic for the subscriber and then generate and send to the serving system a response signaling message providing call handling instructions.
As an example, a serving system in a wireless network may include in the profile for a given mobile subscriber an all-digits trigger that causes the serving system to query a designated SCP in response to any digit sequence dialed by the subscriber. If the subscriber then dials an abbreviated dialing extension, the serving system would query the designated SCP for call handling instructions, the SCP may then translate the extension into a full routing number and return the full routing number to the serving system, and the serving system would route the call accordingly. As another example, a subscriber""s HLR may include in the profile for the subscriber a particular termination trigger that directs the serving system to query a designated SCP for call handling instructions in response to a termination attempt to the subscriber. When the serving system receives a termination to the subscriber, the serving system may then query the HLR for instructions, the HLR may send the termination trigger to the serving system as an xe2x80x9cadvanced termination triggerxe2x80x9d (i.e., one that does not normally reside in the serving system), and the serving system may respond to the trigger by querying the designated SCP for call handling instructions.
In addition, it is possible to arrange for the central control point in one system to communicate with the central control point in another system. For instance, one carrier""s network may include an SCP (SCP-1) that provides call processing logic for calls placed to or from the network. However, another carrier""s network may include an SCP (SCP-2) that contains service logic for a user who happens to be using the first carrier""s network at the moment. (For instance, the second carrier may sell telecommunications services to a customer of the first carrier""s). When SCP-1 receives a TCAP query from a serving system in the first""s carrier""s network, it may pass a signaling message to SCP-2 to find out what to do. SCP-2 may then identify and execute a set of service logic for the subscriber and then generate and return to SCP-1 a response signaling message providing call-handling instructions. SCP-1 would then send a response TCAP message to the serving system conveying the call-handling instructions, and the serving system would carry out the instructions. A mediated service logic system is disclosed, for instance, in a co-pending U.S. patent application entitled xe2x80x9cMethod and System for Providing Telecommunications Services Using Mediated Service Logic,xe2x80x9d filed on Oct. 1, 1999 by Von K. McConnell and assigned to the owner of the present invention, the entirety of which is hereby incorporated by reference.
In a typical AIN arrangement, many of the services for which a subscriber or group of subscribers is authorized can be turned on and off (i.e., activated and de-activated) or modified. For instance, a subscriber may subscribe to a call-forwarding-unconditional service, which provides that any unanswered call (whether or not the called party is busy) should be forwarded to a designated network address. The subscriber may be given the ability to turn this service on or off. Similarly, a subscriber may subscribe to a voice mail service, which directs unanswered calls to voice mail (a type of call forwarding). Again, the subscriber may be given the ability to turn this service on or off. As still another example, the subscriber may be given the ability to set and/or modify the number to which calls to the subscriber should be forwarded.
To facilitate activating, deactivating and modifying telecommunications services and providing other such functions, the industry has for many years employed a concept known as xe2x80x9cfeature codes.xe2x80x9d A service provider may define specific digit sequences for use in activating, deactivating or modifying particular service features. Each sequence is known as a feature code (or, equivalently, a feature code string). A feature code usually consists of a preceding asterisk (*) or double asterisk (**) followed by a series of numeric digits (0 through 9). Further, a pound sign (#) is sometimes used to delimit particular sequences of digits. For instance, the feature code string
could mean that a call forwarding forward-to number is being registered. In this example, *72 indicates that the call-forwarding feature is being accessed, and the digit sequence 4085550303 indicates the forward-to number.
Some feature codes may be sent as a single step to activate, deactivate or modify a service feature (such as to turn on or off call-forwarding or to change the forward-to number). Other feature codes can be applied on a per-call basis. For instance, by preceding a dialed digit sequence with a specified feature code, a subscriber may disable call-waiting for the single call. As another example, by preceding a dialed digit sequence with another specified feature code, a subscriber may activate a calling-number identification restriction for a single call.
When a subscriber (e.g., person or machine) sends a feature code string to a serving system, the serving system itself may respond to the feature code by employing logic to activate, deactivate or modify a service feature for the subscriber. Alternatively or additionally, the serving system may forward the feature code to a central control point, and the central control point may then respond to the code by activating, deactivating or modifying a service feature for the subscriber and then sending a response message to the serving system. Whether the feature code causes such work by the serving system or by a central control point may typically depend on the particular feature code as well as the distribution of the carrier""s call processing logic between the serving system and the central control point.
Consider a traditional landline AIN arrangement for example. As indicated above, an SCP commonly contains a subscriber profile database, which defines the service logic that is to be executed per subscriber or per group of subscribers. The profile may point to service logic that defines various operations to apply for the subscriber (such as translating a dialed number into a forwarding number, for instance). Say a subscriber dials the *72 4085550303 sequence described above. In this example, when the subscriber""s serving system receives this string of dialed digits, the serving system might apply a minimal set of call processing logic that includes various triggers. One of the triggers may be an all-digits trigger, or alternatively a trigger for any dialed number that begins with an asterisk. In response to this trigger, the serving system will generate and send a TCAP query to the SCP, providing as parameters an identification of the subscriber (e.g., the subscriber""s calling number) and the dialed digits.
When the SCP receives this query, it will parse the message and identify the subscriber and the dialed digits. Recognizing that the dialed digits begin with the established feature code of *72, the SCP will responsively change the subscriber""s profile and/or service logic to indicate that the subscriber""s forward-to number is 4085550303. In turn, the SCP will send a response message to the serving system, possibly instructing the serving system to play a message to the subscriber confirming that the subscriber""s forward-to number has been changed.
Alternatively, the serving system itself might apply switch-based logic to respond to the feature code and to change the forward-to number. In that event, for instance, the serving system might change data in the subscriber""s profile to indicate that the subscriber""s forward-to number is now 4085550303.
Feature codes should not be confused with abbreviated dialing extensions, which are also well known and have been employed for many years in the art. Originally used in PBX systems, abbreviated dialing allows an individual subscriber or group of subscribers to dial a shortcut digit sequence in order to reach a desired destination. In a corporate PBX system, a private server may include a translation table that indicates (possibly on a per-user basis) what digit sequences particular abbreviated sequences stand for. When a user dials the abbreviated sequence, the server may translate it into the full digit sequence and send the full sequence into a carrier""s network as though the user had dialed the full sequence.
Similarly, abbreviated dialing has been extended to use in AIN-capable networks. There, the system may comprise a Centrex arrangement. Basically, the Centrex arrangement provides PBX-like features by employing special service logic in a carrier""s network, typically in a central control point (but possibly in the serving system itself). The central control point may define a subscriber profile for all employees of a corporation, or for another specified group of subscribers. The profile may point to service logic that provides the same types of features (e.g., call forwarding, call conferencing, abbreviated dialing, etc.) that a PBX system could provide, and possibly other features as well. When a user having Centrex service dials an abbreviated sequence, the serving system may encounter a trigger for the user and send the sequence to a central control point. The central control point may then translate the abbreviated sequence into a full sequence and return the full sequence to the serving system. The serving system would then set up and connect the call to the address indicated by the full sequence.
In addition, telecommunications carriers often define special abbreviated dialing sequences for use by all subscribers. Such public abbreviated dialing sequences usually look like feature codes, with preceding asterisks for instance, so that subscribers will know that the codes have special meaning. Such carrier-wide abbreviated dialing codes are common in wireless systems. For instance, a wireless carrier may specify that the dialed digit sequence *123 corresponds to a request for traffic assistance. When a subscriber dials that sequence in the carrier""s network, the serving system (with or without the guidance of a central control point) may then translate the sequence into a full routing label identifying the network address of a traffic assistance center, and the serving system may then route the call to that center.
One problem with today""s feature code systems is that the codes usually have a set meaning, broadly defined for many subscribers. Feature codes are typically defined by a service carrier and publicized for use by all subscribers to the carrier""s service. For instance, a carrier may define *67 to mean that calling-number identification information should be blocked for a subsequently-dialed digit sequence, and the carrier may define *70 to mean that call-waiting should be disabled for a subsequently-dialed digit sequence. If a subscriber wants to block calling-number identification or disable call-waiting for a particular call, the subscriber needs to remember to apply the corresponding feature codes.
Another problem with feature codes is that they are not standardized. A feature code string that controls the use of a feature in one carrier""s network may not be identical to the code that controls the same feature in another carrier""s network. This can be confusing for a subscriber who uses separate networks at various times, such as a subscriber who has home telephone service as well as mobile telephone service. Further, network operators are reluctant to change feature codes that have been in use for years, since the established codes have become familiar mechanisms for many subscribers.
The present invention provides a mechanism to go beyond current feature code applications and create customized profile management codes with special meanings to be assigned to a subscriber or group of subscribers. With the benefit of the present invention, a given profile management code may be given one meaning for a given subscriber and may be given an altogether different meaning to another subscriber. For example, a profile management code of xe2x80x9c*11xe2x80x9d or simply xe2x80x9c11xe2x80x9d may indicate for one subscriber that call-forwarding-unconditional should be activated for the subscriber, while the identical feature code may indicate for another subscriber that calling-number identification information should be blocked for a subsequently-dialed call. A central control point can receive a profile management code that is custom-defined for a particular subscriber, interpret the code, and then responsively perform an action that is designated to correspond to the code.
In accordance with a principal aspect, a central control point in a telecommunications network is arranged to receive a signaling message. The message may be provided by a serving system, by another central control point, or by another entity. The message includes members that identify a subscriber and indicate a customized profile management code provided by the subscriber. The subscriber may be a person (operating a telephone or other communications terminal, for instance) or a machine (such as a computer or other device). Upon receipt of the message, the central control point identifies a set of service logic associated with the subscriber. The set of service logic defines one or more customized profile management codes for the subscriber, rather than generally for all subscribers. In particular, the service logic indicates for the subscriber that a given profile management code (e.g., a digit sequence) corresponds to a designated action. The central control point then employs a set of service logic to carry out the designated action.
The designated action may take various forms but is preferably distinguished from the action of merely translating a dialed digit sequence into a routing number. By way of the example, the action may comprise modifying the service logic associated with the subscriber and/or activating or deactivating a service feature for the subscriber. For instance, if the service logic for the subscriber indicates that unanswered calls should be forwarded, the service logic may indicate specially for the subscriber that a particular profile management code constitutes a request to deactivate call-forwarding. As another example, the service logic may indicate specially for the subscriber that a particular profile management code constitutes a request to send a text message (e.g., as a short message service, to a mobile station or other message-receiving entity, for instance).
As still another example, the designated action may be sending a message to another entity, which causes the other entity to change the service logic for the subscriber or for another subscriber. The message could be an instruction to change service logic, could be a code calling for change of service logic, or could take any other desired form. For instance, a profile management code that is custom-defined for a particular subscriber might mean to a central control point that the central control point should generate and send to another central control point a standard feature code to carry out some predefined function. For example, although the standard feature code for activating voice mail in a given wireless network might be xe2x80x9c*35xe2x80x9d, a central control point could be programmed specifically for a given subscriber to treat the code xe2x80x9c22xe2x80x9d from that subscriber as a request to activate the subscriber""s voice mail. Upon receipt of that customized code from the subscriber, the central control point might then generate and send the standard feature code xe2x80x9c*35xe2x80x9d to the subscriber""s HLR, instructing the HLR to activate the subscriber""s voice mail. In this way, the subscriber could use the custom-defined string xe2x80x9c22xe2x80x9d to activate voice mail, without having to remember the standard feature code xe2x80x9c*35xe2x80x9d. Of course, other examples are possible as well.
After the central control point executes the service logic to perform one or more designated actions in response to a customized profile management code for a subscriber, the central control point may generate and send a response signaling message to the serving system or other entity that provided the initial message. In an exemplary arrangement, a serving system or other entity may then be arranged to play a message to the subscriber indicating that the designated action has been taken in response to the customized code.
These as well as other aspects and advantages of the present invention will become apparent to those of ordinary skill in the art by reading the following detailed description, with appropriate reference to the accompanying drawings.